Faza detekcije sudara


Zadaća sustava za detekciju sudara je u prvom redu odrediti je li došlo do sudara i ako jest proslijediti potrebne podatke sustavu za razrješenje sudara. Sustav za detekciju sudara se sastoji od dva dijela, provjere sudara i generiranja kontakta.

Detekcija sudara

PIC

Dva su objekta u sudara ukoliko je njihova udaljenost manja od nule, to jest ukoliko postoji dio prostora koji je zajednički i jednom i drugom objektu. Standardni način da se to uradi jest da provjerimo je li koji vrh objekta A sadržan unutar objekta B i obratno. Ovaj pristup se u biti svodi na provjeru jeli zadana točka unutar objekta.

Ovakva provjera neće detektirati sudar dvaju bridova objekata. Ukoliko je broj poligona objekta velik, taj slučaj možemo zanemariti. U protivnom, moramo provjeriti i sudar tipa brid-brid.

Generiranje kontakta

Dva su tijela u kontaktu kada je njihova udaljenost točno nula. Kada provjera sudara javi da je došlo do prodora jednog objekta u drugi, moramo generirati kontakt za ta dva tijela. Generiranje kontakta podrazumijeva stvaranje skupa podataka koji sadrži točku u kojoj je došlo do sudara i normalu sudara. Normala sudara je po konvenciji vektor usmjeren od tijela B prema tijelu A. Često u taj skup podataka moramo uključiti i podatak o dubini penetracije. Ukoliko je vremenski okvir za koji vršimo simulaciju mali, dubinu penetracije možemo ignorirati jer je jako mala. Tada ćemo reći da simulacija ima veliku sličnost između dvaju vremenskih okvira (frame coherence) . To znači da se objekti jako malo pomiču u prostoru za zadani vremenski okvir. Za svaki sudar moramo generirati samo jedan skup podataka makar za promatrani sudar može biti više točaka kontakta. Ukoliko je sličnost između vremenskih okvira velika, proces generiranja kontakta će biti jednostavniji. Pri maloj sličnosti između vremenskih okvira, često je problem odrediti normalu sudara.